import { ref } from 'vue'
import { useIntersectionObserver, useIntervalFn } from '@vueuse/core'
export function useCountDown () {
  const countTime = ref(0)
  const { pause, resume } = useIntervalFn(() => {
    // resume:可执行的方法 用来开始执行your function
    // pause:可执行的方法 用来暂停执行your function
    if (countTime.value === 0) {
      return false
    } else {
      countTime.value--
    }
  }, 1000, false)
  function start (time) {
    countTime.value = time
    resume()
  }
  return {
    pause,
    start,
    countTime
  }
}

export function useWindowScroll () {
  const y = ref(0)
  window.addEventListener('scroll', () => {
    y.value = document.documentElement.scrollTop
  })
  return {
    y
  }
}
export function useObserver (RefHos) {
  const RefHot = ref(null)
  const { stop } = useIntersectionObserver(
    // 监听目标元素
    RefHot,
    ([{ isIntersecting }], observerElement) => {
      // ...判断  一旦为true 就发送ajax
      if (isIntersecting) {
        // 发起网络请求
        RefHos()
        // 请求数据完毕停止监听
        stop()
      }
    },
    // 进入可视区域的比例是多少才执行回调 0-1 值越大 代表需要进入的面积越大
    { threshold: 0 }
  )
  return {
    RefHot
  }
}
